草庐IT

c++ - dynamic_cast vs static_cast 无效*

全部标签

c - 使用 _pipe 非 block 重定向 STDOUT

正如标题所说,我正在尝试重定向stdout,以测试我有以下程序:#include#include#include#include#defineBUFFER_SIZE4096intmain(intargc,char*argv[]){intfdStdOutPipe[2];intfdStdOut;printf("ConsolePrint...\n");//Startfflush(stdout);_pipe(fdStdOutPipe,BUFFER_SIZE,O_RAW);fdStdOut=_dup(_fileno(stdout));_dup2(fdStdOutPipe[1],_fileno(s

c - 在 Windows 的 C/C++ 中打开 com 端口时将 HANDLE 作为参数传递

所以我有如下内容:在我的main.c中HANDLE*hCom;success=openport(hCom);ReadFile(hCom......)//ThisProducesGarbledResultsopenport()函数:intopenport(HANDLE*hCom){hCom=CreateFile(......)ReadFile(hCom......)//ThisProducesGoodResultsreturn0;}当我在我的openport()函数中读取命令时,一切正常,但如果我在我的main.c中使用hCom,我会得到垃圾。我的问题是,我做错了什么/遗漏了什么?如有任

检查(作为普通用户)管理进程是否正在运行(C,Windows)

我正在尝试检查从服务启动的进程是否正在运行。问题是,我们将我们的应用程序从WindowsXP迁移到Windows7。此应用程序的一部分是服务,它会启动一些进程。另一部分是对话应用程序。此对话框应用程序尝试识别来自服务的进程是否正在运行。进程的pids存储在共享内存中,因此我可以使用WinApi中的OpenProcess()获取进程句柄,这适用于WindowsXP。如果我尝试在Windows7上执行此操作,该函数会报错-访问被拒绝。我想,我知道,为什么会这样(Windows7中新的0级隔离),但我需要找到一些解决方法。我的问题是是否可以对创建的进程设置访问权限以及如何设置(请给我一些示例

c - 使用 mingw 的 gcc,SDL : "undefined reference to ` SDL_Init'"What does the error message mean and how do I resolve it?

所以我正在尝试编译一个基本的sdl程序。我遇到了多个不同的错误,我已经解决了无法找到相关库的问题。这个错误但是我不知道如何解决。错误的realoc错误尤其让我担心,尽管我认为一旦我弄清楚如何定义所涉及的特定函数,它就会消失。所以Windows7,64位使用来自mingw的gcc.exe我从https://www.libsdl.org/download-2.0.php抓取了SDL2-devel-2.0.3-mingw.tar.gz我有一个自己制作的compile.bat文件。D:"D:\MinGW\bin\gcc.exe"sdlproto.c-osdlproto.exe-ISDL2-2.

windows - psExec 的密码无效,但密码标志的空字符串无效

我正在使用一个名为psExec的程序远程连接到机器并启动交互式程序。我要连接的机器没有密码。所以如果我运行这个:psExec\\Computer_Name-uUser-i-dcalc.exe它提示我输入密码:Password:我只是按回车键(因为电脑没有密码),它就可以了。我不想每次都按回车键,因为我在写脚本。所以我试了一下:psExec\\Computer_Name-uUser-p-i-dcalc.exe还有这个:psExec\\Computer_Name-uUser-p""-i-dcalc.exe还有这个:psExec\\Computer_Name-uUser-p''-i-dcal

c - 如何正确使用 ExAllocatePoolWithTag 使其不返回 STATUS_INSUFFICIENT_RESOURCES?

我正在为IO过滤器驱动程序编写内核模式测试。当我运行我的测试时,它们都通过了,但是如果我连续运行它们3次,测试就会开始失败。我将问题缩小到ExAllocatePoolWithTag一段时间后开始返回STATUS_INSUFFICIENT_RESOURCES。为了重现这个问题我写了一个专门的测试staticvoid__stdcallTestFoo_StressLoad(){inti;for(i=0;i我的使用模式是:分配内存(ExAllocatePoolWithTag)执行单个测试释放内存(ExFreePoolWithTag)我的问题是:如何正确使用ExAllocatePoolWithT

python - Cython 包装器使用 cl.exe (windows) 将 .c 文件编译为 .pyd

目录结构Cextended_API_504/lib/Cextended.dllCextended.liblibcextended.asrc/Cextended.hCextendedEx.cCextendedEx.hexample/Demo.ccompileDemo.batcompileDemo.shCextendedPy.pyxcompile.batcompile.shCextendedPy.pyxcdefexternfrom"Cextended.h":...cdefexternfrom"CextendedEx.h":...cdefclasswrapper:...Cextended_A

c++ - 使用统计 API 获取不正确的文件修改时间

我在获取文件的修改时间时看到一个奇怪的行为。我们一直在打电话_stat64在我们的项目中获取文件修改的方法如下。intmy_win_stat(constchar*path,struct_stati64*buf){if(_stati64(path,buf)==0){std::coutst_mtime当我使用epochconvertor转换st_mtime变量返回的纪元时间时,它显示比我系统上设置的当前时间提前2:30小时。当我从不同的测试项目调用相同的API时,我看到了正确的mtime(即根据我的系统显示的文件的mtime)。if(_stat64("D:\\engine_cost.frm

c# - 使用 VS 2010 调试导入的 dll

我在尝试从C#代码调用WinAPI函数时遇到问题。我有很多导入,其中很多工作正常,但其中一些没有,并导致意外中断主程序,没有任何消息、异常类型,什么都没有,只是掉下所有窗口并退出。我在代码中有两种方法:通过我开发的库,其中有更多的winapi调用,我懒得编写特定结构、指针等代码,并直接从user32.dll导入,如下所示:[DllImport(@"tradeInterop.dll")]publicstaticexternvoidChooseInstrumentByMouse(UInt32hwnd,intbaseX,intbaseY,intidx,int_isDown);[DllImpo

c - 如何在 C 中将 IOCTL 发送到 Windows 上的所有驱动程序

有人可以向我提供示例C代码,其中列出了我可以使用Createfile()打开的所有设备名称吗?我总是收到错误代码3:路径不存在不起作用的示例代码:#define_CRT_SECURE_NO_WARNINGS#include#include#include#include#include#include#include#include#include#include#include#pragmacomment(lib,"Setupapi.lib")intmain(void){HDEVINFOdeviceInfoList;deviceInfoList=SetupDiGetClassDevs